/*
 * Copyright (c) 2024 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef CEF_LIBCEF_BROWSER_ADBLOCK_ADBLOCK_CONFIG_BRIDGE_H
#define CEF_LIBCEF_BROWSER_ADBLOCK_ADBLOCK_CONFIG_BRIDGE_H

#include "base/files/file_path.h"
#include "base/lazy_instance.h"
#include "base/values.h"
#include "content/public/browser/browser_context.h"
#include "services/network/public/cpp/resource_request.h"
#include "third_party/libaddressinput/chromium/trie.h"

namespace ohos_adblock {
class AdblockConfigBridge {
 public:
  static AdblockConfigBridge* GetInstance();

  void EnableAdsBlock(content::BrowserContext* browser_context, bool enable);

 private:
  friend struct base::LazyInstanceTraitsBase<AdblockConfigBridge>;

  AdblockConfigBridge();
  ~AdblockConfigBridge();
};

}  // namespace ohos_adblock

#endif  // CEF_LIBCEF_BROWSER_ADBLOCK_ADBLOCK_CONFIG_BRIDGE_H
